package xcmg.device.service.vo.logistic;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Objects;

/**
 * @Des 保存/提交物流运单参数实体
 * @Date 2021/5/7 15:41
 * @Author wangzhaoyu
 * @Param
 * @Return
 */
public class LogisticWayBillSaveVO {
    //表头信息
    private HeadInfo headInfo;
    //零件详情
    private List<Materials> materialses;

    public HeadInfo getHeadInfo() {
        return headInfo;
    }

    public void setHeadInfo(HeadInfo headInfo) {
        this.headInfo = headInfo;
    }

    public List<Materials> getMaterialses() {
        return materialses;
    }

    public void setMaterialses(List<Materials> materialses) {
        this.materialses = materialses;
    }

    public static class HeadInfo{
        //主键
        private String id;
        //物流运单号
        private String wayBillNo;
        //客户编码
        private String dealerOrgId;
        //客户名称
        private String dealerOrgName;
        //收货人
        private String receiverName;
        //联系方式
        private String receiverTel;
        //收货地址
        private String receiverAddress;
        //交货日期
        private Date deliveryTime;
        //单价
        private BigDecimal unitPrice;
        //公里数
        private BigDecimal kilometers;
        //GPS里程单
        private String gpsNo;
        //初始运费
        private BigDecimal initinalCarriage;
        //变更后运费
        private BigDecimal afterModifyCarriage;
        //单据类型
        private String businessType;

        //发运方式
        private String shippingMethod;
        //发运方式id
        private String shippingMethodId;
        //承运商id
        private String carrierOrgId;
        //承运商
        private String carrierOrgName;
        //数量
        private BigDecimal amount;
        //木箱/木托/困扎费
        private BigDecimal boxTrunkFee;
        //包装费
        private BigDecimal packagingFee;
        //物流运费，空运费用，德邦运费，铁路运费，汽运运费，顺丰运费
        private BigDecimal logisticFee;
        //市内/机场装卸费，市内装卸费，送货上门费
        private BigDecimal handlingCost;
        //物流商编码
        private String expressCode;
        //物流单号
        private String freightNo;
        //车型
        private String model;
        //备注
        private String remark;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getWayBillNo() {
            return wayBillNo;
        }

        public void setWayBillNo(String wayBillNo) {
            this.wayBillNo = wayBillNo;
        }

        public String getDealerOrgId() {
            return dealerOrgId;
        }

        public void setDealerOrgId(String dealerOrgId) {
            this.dealerOrgId = dealerOrgId;
        }

        public String getDealerOrgName() {
            return dealerOrgName;
        }

        public void setDealerOrgName(String dealerOrgName) {
            this.dealerOrgName = dealerOrgName;
        }

        public String getReceiverName() {
            return receiverName;
        }

        public void setReceiverName(String receiverName) {
            this.receiverName = receiverName;
        }

        public String getReceiverTel() {
            return receiverTel;
        }

        public void setReceiverTel(String receiverTel) {
            this.receiverTel = receiverTel;
        }

        public String getReceiverAddress() {
            return receiverAddress;
        }

        public void setReceiverAddress(String receiverAddress) {
            this.receiverAddress = receiverAddress;
        }

        public Date getDeliveryTime() {
            return deliveryTime;
        }

        public void setDeliveryTime(Date deliveryTime) {
            this.deliveryTime = deliveryTime;
        }

        public BigDecimal getUnitPrice() {
            return unitPrice;
        }

        public void setUnitPrice(BigDecimal unitPrice) {
            this.unitPrice = unitPrice;
        }

        public BigDecimal getKilometers() {
            return kilometers;
        }

        public void setKilometers(BigDecimal kilometers) {
            this.kilometers = kilometers;
        }

        public String getGpsNo() {
            return gpsNo;
        }

        public void setGpsNo(String gpsNo) {
            this.gpsNo = gpsNo;
        }

        public BigDecimal getInitinalCarriage() {
            return initinalCarriage;
        }

        public void setInitinalCarriage(BigDecimal initinalCarriage) {
            this.initinalCarriage = initinalCarriage;
        }

        public BigDecimal getAfterModifyCarriage() {
            return afterModifyCarriage;
        }

        public void setAfterModifyCarriage(BigDecimal afterModifyCarriage) {
            this.afterModifyCarriage = afterModifyCarriage;
        }

        public String getBusinessType() {
            return businessType;
        }

        public void setBusinessType(String businessType) {
            this.businessType = businessType;
        }

        public String getShippingMethod() {
            return shippingMethod;
        }

        public void setShippingMethod(String shippingMethod) {
            this.shippingMethod = shippingMethod;
        }

        public String getShippingMethodId() {
            return shippingMethodId;
        }

        public void setShippingMethodId(String shippingMethodId) {
            this.shippingMethodId = shippingMethodId;
        }

        public String getCarrierOrgId() {
            return carrierOrgId;
        }

        public void setCarrierOrgId(String carrierOrgId) {
            this.carrierOrgId = carrierOrgId;
        }

        public String getCarrierOrgName() {
            return carrierOrgName;
        }

        public void setCarrierOrgName(String carrierOrgName) {
            this.carrierOrgName = carrierOrgName;
        }

        public BigDecimal getAmount() {
            return amount;
        }

        public void setAmount(BigDecimal amount) {
            this.amount = amount;
        }

        public BigDecimal getBoxTrunkFee() {
            return boxTrunkFee;
        }

        public void setBoxTrunkFee(BigDecimal boxTrunkFee) {
            this.boxTrunkFee = boxTrunkFee;
        }

        public BigDecimal getPackagingFee() {
            return packagingFee;
        }

        public void setPackagingFee(BigDecimal packagingFee) {
            this.packagingFee = packagingFee;
        }

        public BigDecimal getLogisticFee() {
            return logisticFee;
        }

        public void setLogisticFee(BigDecimal logisticFee) {
            this.logisticFee = logisticFee;
        }

        public BigDecimal getHandlingCost() {
            return handlingCost;
        }

        public void setHandlingCost(BigDecimal handlingCost) {
            this.handlingCost = handlingCost;
        }

        public String getExpressCode() {
            return expressCode;
        }

        public void setExpressCode(String expressCode) {
            this.expressCode = expressCode;
        }

        public String getFreightNo() {
            return freightNo;
        }

        public void setFreightNo(String freightNo) {
            this.freightNo = freightNo;
        }

        public String getModel() {
            return model;
        }

        public void setModel(String model) {
            this.model = model;
        }

        public String getRemark() {
            return remark;
        }

        public void setRemark(String remark) {
            this.remark = remark;
        }
    }

    public static class Materials{
        private String id;
        //物流运单表LOGISTIC_WAYBILL单据id
        private String wayBillId;

        //单据号
        private String businessOrderNo;
        //零件号
        private String materialsNo;
        //零件名称
        private String materialsDesc;
        //数量
        private BigDecimal amount;
        //单位
        private String unit;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getWayBillId() {
            return wayBillId;
        }

        public void setWayBillId(String wayBillId) {
            this.wayBillId = wayBillId;
        }

        public String getBusinessOrderNo() {
            return businessOrderNo;
        }

        public void setBusinessOrderNo(String businessOrderNo) {
            this.businessOrderNo = businessOrderNo;
        }

        public String getMaterialsNo() {
            return materialsNo;
        }

        public void setMaterialsNo(String materialsNo) {
            this.materialsNo = materialsNo;
        }

        public String getMaterialsDesc() {
            return materialsDesc;
        }

        public void setMaterialsDesc(String materialsDesc) {
            this.materialsDesc = materialsDesc;
        }

        public BigDecimal getAmount() {
            return amount;
        }

        public void setAmount(BigDecimal amount) {
            this.amount = amount;
        }

        public String getUnit() {
            return unit;
        }

        public void setUnit(String unit) {
            this.unit = unit;
        }
    }
}
